{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import itertools  \n",
    "from sklearn.decomposition import PCA\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# from utils_cython.data_utils_c import derivative\n",
    "from utils.data_utils import (csvs_merge, cumsum, step_change_point, \n",
    "                              hankel_svd, correlation_coeffs, Bearing)\n",
    "\n",
    "from sklearn.ensemble import RandomForestRegressor\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "\n",
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "step = 2560"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "# bearings_to_read = ['Bearing1_1', 'Bearing1_2', 'Bearing1_4', 'Bearing1_5', \n",
    "#                     'Bearing1_6', 'Bearing1_7', 'Bearing2_1', 'Bearing2_2', 'Bearing2_3', \n",
    "#                     'Bearing2_4', 'Bearing2_5', 'Bearing2_6', 'Bearing2_7', 'Bearing3_1', \n",
    "#                     'Bearing3_2', 'Bearing3_3']\n",
    "\n",
    "# bearings_to_read = ['Bearing1_1', 'Bearing1_2', 'Bearing1_4', 'Bearing1_5']\n",
    "    \n",
    "bearings_to_read = ['Bearing1_7']\n",
    "    \n",
    "dataset = 'femto_dataset'\n",
    "bearings = []\n",
    "for bearing_to_read in bearings_to_read:\n",
    "    data = {'vib' : pd.read_csv('../femto_dataset/%s/acc_merged.csv' % (bearing_to_read))}\n",
    "    \n",
    "    # Reads 'temperature' if the data exists.\n",
    "#     if os.path.exists('../femto_dataset/%s/temp_merged.csv' % (bearing_to_read)):\n",
    "#             data['temp'] = pd.read_csv('../femto_dataset/%s/temp_merged.csv' % ( bearing_to_read))\n",
    "    \n",
    "    bearings.append(Bearing(name=bearing_to_read, dataset=dataset,\n",
    "                            condition=bearing_to_read[7], data=data, restore_results=False))\n",
    "\n",
    "# bearings = pd.read_csv('../femto_dataset/{}/acc_merged.csv'.format(bearings_to_read[0]))\n",
    "# bearings"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Starting with cumsum and derivative analysis.\n",
    "for bearing in bearings:\n",
    "    # Computing cumsum.\n",
    "    bearing.results['cumsum'] = {'h' : cumsum(bearing.data['vib']['h_acc']), \n",
    "                                 'v' : cumsum(bearing.data['vib']['v_acc'])}\n",
    "    \n",
    "    # Computing cumsum derivative.\n",
    "#     h = 39*10**-6 # Distance between points - It's in original data in u-sec column.\n",
    "#     bearing.results['cs_derivative'] = {'h' : np.asarray(derivative(bearing.results['cumsum']['h'].values, h)), \n",
    "#                                         'v' : np.asarray(derivative(bearing.results['cumsum']['v'].values, h))}\n",
    "    \n",
    "#     # Marking change points (cp) in derivative.\n",
    "#     bearing.results['cs_deriv_cp'] = {'h' : step_change_point(bearing.results['cs_derivative']['h']),\n",
    "#                                       'v' : step_change_point(bearing.results['cs_derivative']['v'])}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "for bearing in bearings:\n",
    "    # Compute hankel matrix singular values.\n",
    "    bearing.results['hankel_svd'] = {'h' : hankel_svd(bearing.data['vib']['h_acc'], window_size=9,\n",
    "                                                      n_samples=len(bearing.data['vib']['h_acc'])//step),\n",
    "                                     \n",
    "                                     'v' : hankel_svd(bearing.data['vib']['v_acc'], window_size=9, \n",
    "                                                      n_samples=len(bearing.data['vib']['v_acc'])//step)}\n",
    "    \n",
    "    # Compute correlation coefficients.\n",
    "    bearing.results['hankel_svd_correlation_coeffs'] = {'h' : correlation_coeffs(bearing.results['hankel_svd']['h'], \n",
    "                                                        baseline=0, norm_interval=[-1, 1]),\n",
    "                                                  \n",
    "                                                 'v' : correlation_coeffs(bearing.results['hankel_svd']['v'],\n",
    "                                                        baseline=0, norm_interval=[-1, 1])}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['cumsum', 'hankel_svd', 'hankel_svd_correlation_coeffs'])"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bearings[0].results.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2230"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hankel_spot = pd.DataFrame(bearings[0].results['hankel_svd_correlation_coeffs']['v'], columns=['hankel_v'])\n",
    "aux = hankel_spot.query('hankel_v < 0.6').index[0]\n",
    "aux"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_explosion_index(df, target):\n",
    "    highest = 0\n",
    "    target_index = 0\n",
    "    for i in range(target-200, target):\n",
    "        if df.hankel_v.iloc[i] < 0.95:\n",
    "            if highest < df.hankel_v.iloc[i]:\n",
    "                highest = df.hankel_v.iloc[i]\n",
    "                target_index = i\n",
    "#             print(str(i) + ' {}'.format(linear.hankel_v.iloc[i]))\n",
    "    return target_index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2214"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "explosive = get_explosion_index(hankel_spot, aux)\n",
    "explosive"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x504 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "br = bearings[0].results['cumsum']['v']\n",
    "f, ax = plt.subplots(figsize=(10,7))\n",
    "ax.plot(br, label='Cumsum B1_7')\n",
    "ax.scatter(step*explosive, br[step*explosive], c='r', label='Ponto de ruptura')\n",
    "ax.set_title('Identificação do ponto de ruptura para o B1_7')\n",
    "ax.set_xlabel('Amostra')\n",
    "ax.set_ylabel('Soma Cumulativa')\n",
    "ax.legend(loc='upper left')\n",
    "\n",
    "plt.savefig('ruptura_B1_7.png', dpi=500)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def do_all_stuff(bearing_train, bearing_test, qtd, degree):\n",
    "    \n",
    "    # ---- TRAIN ---- #\n",
    "    hankel_spot = pd.DataFrame(bearing_train.results['hankel_svd_correlation_coeffs']['v'], columns=['hankel_v'])\n",
    "    aux = hankel_spot.query('hankel_v < 0.6').index[0]\n",
    "    \n",
    "    expon = bearing_train.results['cumsum']['v'][step*get_explosion_index(hankel_spot, aux):]\n",
    "    \n",
    "    scaler = MinMaxScaler()\n",
    "    expon = expon.values.reshape(-1,1)\n",
    "    expon = scaler.fit_transform(expon)\n",
    "    expon[-1]\n",
    "    expon = np.hstack(expon)\n",
    "    \n",
    "    target_reg_expon = np.linspace(1, 0, len(expon))\n",
    "    \n",
    "    interpol = np.linspace(0, 1, len(expon))\n",
    "    \n",
    "\n",
    "    step_temp = len(expon)//qtd\n",
    "    tamanho = step_temp\n",
    "    coefs = []\n",
    "    for window in range(0, qtd):\n",
    "        janela = expon[window*step_temp:(window+1)*step_temp]\n",
    "        jan_target = interpol[window*step_temp:(window+1)*step_temp]\n",
    "        coefs.append(np.polyfit(janela, jan_target, degree))\n",
    "        \n",
    "    target_reg_expon = np.linspace(1, 0, len(coefs))\n",
    "\n",
    "    reg = RandomForestRegressor(n_estimators=100, random_state=42)\n",
    "    reg.fit(coefs, target_reg_expon)\n",
    "    reg.score(coefs, target_reg_expon)\n",
    "    score_train = reg.score(coefs, target_reg_expon)\n",
    "    # ---- TEST ---- #\n",
    "    \n",
    "    hankel_spot = pd.DataFrame(bearing_test.results['hankel_svd_correlation_coeffs']['v'], columns=['hankel_v'])\n",
    "    aux = hankel_spot.query('hankel_v < 0.6').index[0]\n",
    "    \n",
    "    offset = step*get_explosion_index(hankel_spot, aux)\n",
    "    \n",
    "    linear = bearing_test.results['cumsum']['v'][0:offset]\n",
    "    expon = bearing_test.results['cumsum']['v'][offset:]\n",
    "    \n",
    "    scaler = MinMaxScaler()\n",
    "    expon = expon.values.reshape(-1,1)\n",
    "    expon = scaler.fit_transform(expon)\n",
    "    expon[-1]\n",
    "    expon = np.hstack(expon)\n",
    "    \n",
    "    target_reg_expon = np.linspace(1, 0, len(expon))\n",
    "    \n",
    "    interpol = np.linspace(0, 1, len(expon))\n",
    "    step_temp = len(expon)//qtd\n",
    "    tamanho = step_temp\n",
    "    \n",
    "    #Comment from here to plot one coefs to another\n",
    "    coefs = []\n",
    "    for window in range(0, qtd):\n",
    "        janela = expon[window*step_temp:(window+1)*step_temp]\n",
    "        jan_target = interpol[window*step_temp:(window+1)*step_temp]\n",
    "#         plt.plot(janela, jan_target)\n",
    "#         if window >= 0:\n",
    "#             break\n",
    "        coefs.append(np.polyfit(janela, jan_target, degree))\n",
    "        \n",
    "    \n",
    "    target_reg_expon = np.linspace(1, 0, len(coefs)).reshape(-1,1)\n",
    "#     target_reg_expon = target_reg_expon\n",
    "    \n",
    "    score_test = reg.score(coefs, target_reg_expon)\n",
    "    \n",
    "    return  score_test, coefs, step_temp, offset, scaler, expon, reg"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.9696522690594691\n",
      "7121920\n"
     ]
    }
   ],
   "source": [
    "qtdd = 1000\n",
    "score, coefs, step_temp, ofs, scaler_test, expon, reg = do_all_stuff(bearings[9], bearings[0], qtd=qtdd, degree=2)\n",
    "print(score)\n",
    "print(ofs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "f, ax = plt.subplots(figsize=(10,10))\n",
    "ax.plot(bearings[0].results['cumsum']['v'], c='b')\n",
    "\n",
    "# 1000 windows\n",
    "for i in range(0,qtdd):\n",
    "    \n",
    "    # Get normalized x vector\n",
    "    x = expon[i*step_temp:(i+1)*step_temp]\n",
    "    \n",
    "    # Calculate all y\n",
    "    y = np.array([coefs[i][0]*e**2 + coefs[i][1]*e + coefs[i][2] for e in x])\n",
    "        \n",
    "    # De-normalize x\n",
    "    x_dn = [ofs + a for a in range(i*step_temp,(i+1)*step_temp)]\n",
    "\n",
    "    # De-normalize y\n",
    "    y_dn = scaler_test.inverse_transform(y.reshape(-1,1))\n",
    "    \n",
    "    ax.plot(x_dn, y_dn, c='r')\n",
    "# plt.xlim([2170000,2250000])\n",
    "# plt.ylim([600000,1300000])\n",
    "# ax.set_xlim([7100000,len(bearings[0].results['cumsum']['v'])+10000])\n",
    "# ax.set_ylim([1500000,2600000])\n",
    "ax.set_ylabel('Cumulative Sum')\n",
    "ax.set_title('Coefs treinados B1_2 e testados com B1_1')\n",
    "ax.set_xticks([])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "def lifetime_predict(bearing, regressor, qtd, degree):\n",
    "    \n",
    "    # ---- Predict ---- #\n",
    "    hankel_spot = pd.DataFrame(bearing.results['hankel_svd_correlation_coeffs']['v'], columns=['hankel_v'])\n",
    "    aux = hankel_spot.query('hankel_v < 0.6').index[0]\n",
    "    \n",
    "    expon = bearing.results['cumsum']['v'][step*get_explosion_index(hankel_spot, aux):]\n",
    "    \n",
    "    scaler = MinMaxScaler()\n",
    "    expon = expon.values.reshape(-1,1)\n",
    "    expon = scaler.fit_transform(expon)\n",
    "    expon[-1]\n",
    "    expon = np.hstack(expon)\n",
    "    \n",
    "    interpol = np.linspace(0, 1, len(expon))\n",
    "    \n",
    "    step_temp = len(expon)//qtd\n",
    "    tamanho = step_temp\n",
    "    coefs = []\n",
    "    for window in range(0, qtd):\n",
    "        janela = expon[window*step_temp:(window+1)*step_temp]\n",
    "        jan_target = interpol[window*step_temp:(window+1)*step_temp]\n",
    "        coefs.append(np.polyfit(janela, jan_target, degree))\n",
    "        \n",
    "    return regressor.predict(coefs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmEAAAJcCAYAAACxEXM4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdeXhU1fnA8e+bnSwkkBAgBEjYISxhEUFlR0FBBCogVQGtVau21rZYtEpFrfqzdWmtuCvuLCq4U0VQUFA2EdkiW9gSIASykT1zfn/cO8MkmclGQgi8n+fJ82Tucu5779y58845554rxhiUUkoppdSZ5VPfASillFJKnY80CVNKKaWUqgeahCmllFJK1QNNwpRSSiml6oEmYUoppZRS9UCTMKWUUkqpeqBJWAMlIg+IyFs1XHeGiHxbwfzPRWS6p2VFJEdE2tWk3EpiGioiB2uybm3GUcPtxYmIERG/M7Q9r++Bl+XfEZEfRSS8PravKici80Tk4fqO43wjIoNEJKm+46hvIpIsIiPrO47zkSZhZ5B9oufZX2JH7AtvaH3HVZYx5nJjzOte5oUaY/ac6ZjUKdV5D0RkBrANuAP4z5ne/pl0Oj9MGiq3HwA5bteVuSLi77bMHSKyXkQKRGReFcsNEJH37GuWEZGhdbUPNVUbP7aMMauMMZ1rK6YzxX5POpwFccwQkRK382+PiPzObX4nEflQRNJE5LiI/E9EqnW8ReSrM/kj90zTJOzMu9IYEwr0AfoB95VdQCz63pyjzuTFxBgzzxjzsDHmO2PM9DO13bp2rl6QT0OEfV3pAQwEbneblwI8DLxazTK/Ba4DDtdKhPVARHzrO4bzwBr7h1ko8CvgcRHpbc+LAD4COgPNgbXAh1UtWESuBfwrXbAB0y/6emKMOQR8DnQHEJGvReQfIvIdkAu0E5EYEfnI/gWxS0R+W6aYIBFZICLZIrJRRHo5Z4jILBHZbc/bJiITyqwrIvJfEckUkR0iMsJtxtcicpOnuN1/gYlIpB1floisBdqXWfbfInLAnr9BRAa5zWtk1wSeEJFtwAVl1o0RkfftX1B7ReQP3o5lFeLoIiJf2scxSUQmV1DWDPvXXLa93Wvt6T4icp+I7BORoyLyhofmvRtFJEVEUkXkL25lPmDXKrwlIlnADLs853uULiILRaSpvfznInJHmbh+EpGJ7u+BiFwoIofdv2hEZIKIbHaL2ds2nDUo00Vkv4gcE5G/uZXjKyL3up1DG0Sktfv27f/HiNXUmWW/1w9UcGyHishBu9xjYtWyXOs2P9w+rmn2cb5P7B8j9vvynYg8JSLpwANlyh4N3AtMEesX+U9uZb5ivyeHRORh5/EqU2aG/b5fZE8/YL/P0922MU9EnrfPpWwR+UZE2rrNv0hE1on1mVonIhdVcCx6i/WZzRaRBUBQmfm/Feszf9w+t2O8leXOGHMU+BLo5jbtA2PMEiC9KmXY6xQaY542xnwLlFS2vIg0FZHX7PP/hIgsqcq+2OfSbSKy0z4WD4lIexFZbZ9TC0UkwMP2ugLPAwPt9zvDnj5PRJ4Tkc9E5CQwTEQCReRf9nl+xH4PG9nLl+oGYZ+TfxGRzfb7uEBEgux5TUTkE/v8PGH/H+u27tf2+bXajuljsa5Nb9v7sk5E4tyW93pdsvfjWRH51D4uP4hIe3veSnuxn+ztTKnsOHs4ftfbn7F0cfvc2/MCReRp+71Msf8PrOj9dzLG/AhsB7rar9caY14xxhw3xhQBTwGdRSSysrLEur7+Hbi7KttusIwx+neG/oBkYKT9f2tgK/CQ/fprYD+QAPhhZf8rgblYF+hEIA0Ybi//AFAEXG0v+xdgL+Bvz58ExGAl2lOAk0BLe94MoBi4y153CpAJNHWL5Sa3Zb912wcDdLD/nw8sBEKwkslDZZa9Doi09+fPWL+og+x5jwGrgKb2sdgCHLTn+QAbgNlAANAO2AOM8nJcvcZhTzsA3GDH0Rs4BnTzUE4IkAV0tl+3BBLs/28EdtmxhAIfAG/a8+Ls4/KuXUYP+70aWea9Gm/vWyPgTuB7IBYIBF4A3rWXnwZ85xZXNyADCPTwHuwGLnVbdhEwy/6/om04Y37JjqcXUAB0tefPBH7G+gUr9vxID9sfau+vD9ATOAKM9/I+DcU675604xmCdV46j/cbWL+Sw+z4fgF+U+ac/b39PjbyUP4DwFtlpi229zsEiMb6JX5LmTJvAHyxaov2A8/a8V0GZAOh9vLz7NeD7fn/5tR51hQ4AVxvxzfVfh3pIc4AYB+nPn9XY50fD9vzh2Odo33s7TwDrPRyTJ3vo5/9Ogb4CbjRw7IPA/NqcN06CAytZJlPgQVAE3ufhlRlX+zYPwQaY137CoCvsD5n4VhN6dO9bHMGbtcbt/coE7gY65wMwvri/8h+j8KAj4FH3c7Jg2Wu0Wvt49gUK6G41Z4XiVXTE2yXswhY4rbu11jXiPZusf8CjLTPiTeA16pyXbL3Ix3ob89/G5jv6Tpcg3OmG5DDqfP4SazPgfN69SDWdSMaaAasxv6equw9wPoxnQF08rL8eCC1iufds1ifkTjczvFz7a/eAzif/uwPeI59ku7DSrAa2fO+Bh50W7Y11i/QMLdpj2JfRLG+cL53m+cDpAKDvGx7E3CV/f8MrCYKcZu/FrjeLZYKkzCsL60ioIvbvEcoc1EsE8MJoJf9/x5gtNu8mzmVhF0I7C+z7j3YF7Ay0yuMAyvBXFVmnReAv3soK8R+b35FmS95rC+G29xed7a36+d2kXCP4XHgFbf3amWZ8rYDI9xet3QrLwwrOWlrz/sH8GrZ98D+/2HnPA/rVbQNZ8yxZc6Ba+z/k5zni4fjVOoLoMy8p4GnvMwbinWxD3GbthC4334fC3FLjoFbgK/dzsP9nsp1W/4B3JIwrOaPAvf3Eis5WuFW5k63eT3sfWvuNi0dSLT/n0fpL8JQrM9oa6zka22ZeNYAMzzEOZjyn7/VnErCXgEeL7OdIiDOQ1nO9zHD/jN2WY09LFsnSZh9XjmAJh7mVbgvdrwXu83fAPzV7fUTwNNetjsDz0nYG26vBesz0d5t2kBgr9s5WTYJu67M5/h5L9tPBE64vf4a+FuZ2D93e30lsMn+v8Lrkr0fL7vNuwLY4e0zWM1zZnaZ8zgE67PnTMJ2A1e4zR8FJFfwHhTb5162HdczuJ3bbsvGYv1AnlqFc64f1neW+7XqnEzCtDnyzBtvjIkwxrQ1xtxmjMlzm3fA7f8Y4LgxJttt2j6glafljTEOrItlDICITBORTXYzSwZWDVGU27qHjH22u5VdpSYPWzOsD4h7zPvcF7Cr9bfb1foZWL8OnTHEVLBuWyDGGbu97r1YX6rVjaMtcGGZsq4FWpQtyBhzEuvieCuQajcFdHGL173cffZ23WMqG0OMl3nOuBa7xbQd6wu9uf2efwpcYy87FeuXsCfvABPt5oKJwEZjjDNOr9twW9+9v08u1sUbrMRit5dtuojVJLrCbqLJxDp2URWscsI+zk7O4xSFVYNS9hh7PN+rqK1dZqrbMXgB6xe+0xG3//MAjDFlp7nfPOP+mcsBjtvxlz0/PMXvFIPnz5/7fNdrezvpXspyijLGRGDV0nwH/K+CZWtba6xr1QkP86qyL2WPd0XHvyrcz5NmWMdkg9s5sNSe7o3Hz4SIBIvIC3YzXhZWS0WElO53VtV9qcp1ydtn05PqnDOlrr325zG9zPyyn8OKvhu+t7/Twuz4E7B+CLuISDPgC2CuMebdCspCrC4Ic4E7jTHFFS17LtAk7OziflFOAZqKSJjbtDZYvyScWjv/sU/cWCBFrH4qL2HdERdpX5y3YP0qdGolIu6v29jbrKo0rF9Ard2mtXGLZxBWW/5krF/IEVjNBM5tpnpbF+sCsdf+YDv/wowxV1Q3Drusb8qUFWqM+R0eGGP+Z4y5FOvX/Q6s4wjWsWlbZhvFlL7Ilo3B/Xi6v7fOuC4vE1eQsfoKgtW0OVVEBmI1qazwEu82rIvk5cCvsZKyqm6jIgco07fOi3ewmnpaG2PCsfrpSAXLNxGRELfXzuN0DOuXe9lj7B5r2WNYlqdjXICdoNh/jY0xCZWUUxH3z1woVpNVCuXPDygfv1Mqnj9/TqXKso9XpJeySrF/1M0DBohIRclwbTqAda2K8DCvxvtSBd7OB/fpx7CSnwS3cyDcWJ3Iq+vPWDXgFxpjGmPVaELF57s31bouVUF1jnOpa6+IBNvLeiyLanw32D9g3seq9XOW3wQrAfvIGPOPKhTTGKsmbIGIHAbW2dMPilu/4nOFJmFnKWPMAaxmhUdFJEhEegK/Adxvwe8rIhPFulPsj1hfON9jVS8brAQFEbkB+wYAN9HAH0TEX0QmYXWk/Kwa8ZVg9Yt6wP6F2A2Y7rZIGFaSkgb4ichsrA+X00LgHruzayxWXx+ntUC2iPxVrA78viLSXURKdd6vYhyfAJ3sjqj+9t8FYnXsLUVEmovIVfYFrACr6dhhz34XuEtE4u0v30eABWV+qd1vx5CA1ddjQQWH8HngH3bCjIg0E5Gr3OZ/hnUhfNDejsNDGU7vYPX/GozVT6Wq26jIy8BDItJRLD29dKYNw6oFyReR/liJYGXmiDUEwiBgLLDIfh8X2vGG2TH/idLne2WOAHH2DxKMMalYF/8nRKSxWDcqtBeRIdUos6wrROQSsTqLP4RVC3AA6/3qJCK/FhE/sTpLd8M6/8pag/XZcH7+JmL1/XF6F7hBRBLtGs5HgB+MMcmVBWcvfz1WLUq6Pc1PrM7lvoCvfT2p9O5SsTpoO28YCLDXK5dw2Mf5c2Cu/Xn2FxFnglLjfamCI0CseOi47xabA+uH1FMiEm3vVysRGVWD7YVhJXQZYt3g8vcalOFU5euSF0ew+s05Vec4vweMdTuPH6R0LvAucJ99vYjCar6s0ufQvkZMwOrvjIg0xqqV/c4YM6uK+5aJVfOWaP85f3z3BX6oYhkNhiZhZ7epWO3hKVgdjP9ujFnmNv9DrOYzZ4fgicaYIrt25Amsi/0RrL4u35Up+wegI9YvxX8AVxtjqnz3lO0OrCryw1i/vl9zm/c/rGr/X7BqavIp3Uwwx56+F+uL8k3nDPsLeSzWB3CvHePLWM2Z1YrDbtq7DKtpL8Ve5v+wOqSW5YP1xZ+C1cw0BHD+Mn3VjnGlHVM+pRNHgG+wOuZ+BfzLGPOFl3jB6tT9EfCFiGRjJc8XusVdgJVcjqR07ZYn79qxLjfGHKvqNirxJFZS9AXWzQqvYHXgL+s24EG7/Nn2OhU5jHW+pmA1sd5qjNlhz/s9Vv+dPVjDI7xD9YZVcCag6SKy0f5/GlZH+G32dt/DquWsqXewvnyPY30pXAdgf3bGYtWWpGPVAo8t835gL1uI1XQ8wy5nCtZ77Zy/DKuf3PtYtRbtOdU07U2GiORgfd4HAuPcmjvvw0oeZtnx5uFhaBwPkuxlW2F9nvMoX9vndD1WTeYO4CjWj8Ka7ktVLcf6sj8sIuWOs5u/Yn0uvxerGXEZVo1WdT2N9Rk4hvVZWlqDMoBqX5c8eQB4XaymzMnVOc7GmK1YQ5i8Yy97Aqsri9PDwHpgM9bNORvtad4471DNwerykMapa+MErM76N8ipscRyRKSNt8KM5bDzzy4P4Ij92TmnSOluCUopVTfEGvDzLWNMbGXLno3EGuj0oDGmKgmMUkpVSmvClFJKKaXqgSZhSil1HhJr0NwcD3+f13ds6twn1qDUns6/e+s7tjNJmyOVUkoppeqB1oQppZRSStWDBvcQ3KioKBMXF1ffYSillFJKVWrDhg3HjDEeBwhucElYXFwc69evr+8wlFJKKaUqJSJln6bhos2RSimllFL1QJMwpZRSSql6oEmYUkoppVQ9aHB9wpRSSilPioqKOHjwIPn5+fUdijoPBQUFERsbi7+/f5XX0SRMKaXUOeHgwYOEhYURFxeHh2eNK1VnjDGkp6dz8OBB4uPjq7yeNkcqpZQ6J+Tn5xMZGakJmDrjRITIyMhq18JqEqaUUuqcoQmYqi81Ofc0CVNKKaWUqgeahCmllFK1xNfXl8TERNffY489VufbzMjIYO7cudVeLiUlhauvvrrW45kxYwbvvfdelZb95ptvGDhwYKlpxcXFNG/enJSUFGbPns2yZcvKrff1118zduzYKseUnJxMo0aNSExMpFu3bkybNo2ioqIqr19WaGhojdd1p0mYUkopVUsaNWrEpk2bXH+zZs2q823WNAmLiYmpcrJUVwYNGsTBgwfZt+/UoPLLli0jISGBmJgYHnzwQUaOHFkr22rfvj2bNm3i559/5uDBgyxcuLBWyj0dmoQppZRSdSgzM5POnTuTlJQEwNSpU3nppZcAq0blrrvuIiEhgREjRpCWlgbA7t27GT16NH379mXQoEHs2LEDgCNHjjBhwgR69epFr169WL16NbNmzWL37t0kJiYyc+ZMcnJyGDFiBH369KFHjx58+OGHAOWWS05Opnv37gAMGDCArVu3umIeOnQo69evZ+3atQwcOJDevXtz0UUXufbBnTGGO+64g86dOzNy5EiOHj3qmrdhwwaGDBlC3759GTVqFKmpqaXW9fHxYfLkycyfP981bf78+UydOhUoXau2dOlSunTpQp8+ffjggw9cy1clRne+vr7079+fQ4cOAVBSUsLMmTO54IIL6NmzJy+88AKA1+NYq4wxDeqvb9++RimllCpr27Ztp17ceacxQ4bU7t+dd1Yag4+Pj+nVq5frb/78+cYYY7744gszYMAA8+6775pRo0a5lgfMW2+9ZYwxZs6cOeb22283xhgzfPhw88svvxhjjPn+++/NsGHDjDHGTJ482Tz11FPGGGOKi4tNRkaG2bt3r0lISHCVWVRUZDIzM40xxqSlpZn27dsbh8NRbjn3108++aSZPXu2McaYlJQU06lTJ2OMMZmZmaaoqMgYY8yXX35pJk6cWG6f33//fTNy5EhTXFxsDh06ZMLDw82iRYtMYWGhGThwoDl69Kgxxpj58+ebG264odz669atM4mJicYYY/Lz802zZs1Menq6McaY6dOnm0WLFpm8vDwTGxtrfvnlF+NwOMykSZPMmDFjqhyj+77m5eWZoUOHmp9++skYY8wLL7xgHnroIdf2+/bta/bs2eP1OBpjTEhISLltGFPmHLQB642XnEbHCVNKKaVqibM5sqxLL72URYsWcfvtt/PTTz+5pvv4+DBlyhQArrvuOiZOnEhOTg6rV69m0qRJruUKCgoAWL58OW+88QZg1eiEh4dz4sSJUtsyxnDvvfeycuVKfHx8OHToEEeOHKkw7smTJ3PZZZcxZ84cFi5c6OorlpmZyfTp09m5cyci4rEf1cqVK5k6dSq+vr7ExMQwfPhwAJKSktiyZQuXXnopYNU4tWzZstz6/fr1Iycnh6SkJLZv386FF15I06ZNSy2zY8cO4uPj6dixo+tYvfjii1WOEXDVAu7du5cxY8bQs2dPAL744gs2b97sqnHLzMxk586dxMbGejyOLVq0qPBYVocmYUoppc49Tz9d3xGU4nA42L59O8HBwZw4cYLY2FiPy4kIDoeDiIgIj8lcVbz99tukpaWxYcMG/P39iYuLq3T8qlatWhEZGcnmzZtZsGABzz//PAD3338/w4YNY/HixSQnJzN06NAqx2GMISEhgTVr1lS67NSpU5k/fz7bt293NUVWVVVjdPYJO3bsGBdffDEfffQR48aNwxjDM888w6hRo0otP2/evGofx+rSPmFKKaVUHXvqqafo2rUr77zzDjfccIOrtsbhcLhqYN555x0uueQSGjduTHx8PIsWLQKsZMZZezZixAiee+45wKpZyszMJCwsjOzsbNe2MjMziY6Oxt/fnxUrVrg6vZddrqwpU6bw+OOPk5mZ6aolyszMpFWrVoCVlHgyePBgFixYQElJCampqaxYsQKAzp07k5aW5krCioqKSvU7czd16lTeeustli9fzlVXXVVufpcuXUhOTmb37t0AvPvuu6X2t7IY3UVFRfHYY4/x6KOPAjBq1Ciee+4513vyyy+/cPLkSa/HsTZpEqaUUkrVkry8vFJDVMyaNYukpCRefvllnnjiCQYNGsTgwYN5+OGHAQgJCWHt2rV0796d5cuXM3v2bMCqzXrllVfo1asXCQkJrk7h//73v1mxYgU9evSgb9++bNu2jcjISC6++GK6d+/OzJkzufbaa1m/fj09evTgjTfeoEuXLgDllivr6quvZv78+UyePNk17e677+aee+6hd+/eFBcXe9znCRMm0LFjR9fQD84hJwICAnjvvff461//Sq9evUhMTGT16tUey+jatSshISEMHz6ckJCQcvODgoJ48cUX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\n",
      "text/plain": [
       "<Figure size 720x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "res = lifetime_predict(bearings[13], reg, qtd=qtdd, degree=2)\n",
    "\n",
    "from scipy.signal import filtfilt\n",
    "\n",
    "n = 10  # the larger n is, the smoother curve will be\n",
    "b = [1.0 / n] * n\n",
    "a = 1\n",
    "yy = filtfilt(b,a,res)\n",
    "# plt.plot(x, yy, linewidth=2, linestyle=\"-\", c=\"b\")  # smooth by filter\n",
    "\n",
    "f, ax = plt.subplots(figsize=(10,10))\n",
    "ax.plot(np.linspace(1,0,qtdd), c='r', label='Expectativa de Vida Real')\n",
    "ax.plot(yy, label='Estimativa do modelo')\n",
    "ax.legend()\n",
    "ax.set_ylabel('Probabilidade de Sobrevivência')\n",
    "ax.set_xlabel('Janelas de Interpolação')\n",
    "ax.set_title('Probabilidade de sobrevivência por tempo do B1_1 com treinamento do B2_4')\n",
    "plt.savefig('sobrevivenciaB31_B24.png', dpi=500)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
